Automatic login link for targeted users without previous account creation

ABSTRACT

An auto-login system and process enable maintaining user accounts on a server without a user having to register or create a user name, password, or other authentication method. An account may be created without user knowledge. The server may transmit a content item to a target user, along with a link. A server identifies the target user from use of the auto-login link and collects interaction or “engagement” data while the user is logged in, to assess user interest in products, for example, a mutual fund investment product, which may be characterized by tags and/or categories. The system may quantify a product salience metric for a given product relative to a target user&#39;s interest profile to focus marketing efforts and support engagement with interested target users, especially securities funds and financial advisors.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.17/111,344 filed on Dec. 3, 2020, which is a continuation of U.S. patentapplication Ser. No. 16/036,769, filed Jul. 16, 2018, now U.S. Pat. No.10,867,321, the entireties of which are incorporated herein by thisreference.

COPYRIGHT NOTICE

© James D. MacDonald-Korth and Rita I. MacDonald-Korth 2018. A portionof the disclosure of this patent document contains material which issubject to copyright protection. The copyright owner has no objection tothe facsimile reproduction by anyone of the patent document or thepatent disclosure, as it appears in the Patent and Trademark Officepatent file or records, but otherwise reserves all copyright rightswhatsoever. 37 CFR § 1.71(d).

FIELD OF THE INVENTION

The disclosure that follows relates to electronic communications,especially utilizing electronic mail (email) and the internet, and morespecifically to automatic login, data collection and data analysisuseful in targeting electronic communications.

BACKGROUND

Many types of businesses use electronic communication with their clientsand/or prospective clients and may drive that communication using dataanalysis and machine learning techniques to manage that communication.As data analysis and machine learning has become more sophisticated,more tasks have become accessible to these methods. Databases havelikewise become increasingly sophisticated, and it is now possible tocollect massive quantities of data in order to track and monitor anyquantifiable phenomena at a high resolution and, moreover, apply machinelearning techniques to leverage that data to make useful predictions.

Interaction between businesses and clients has become dominated byelectronic interactions in the last few years. Businesses often haveinformation that is confidential or customized for a particular clientand needs to be protected from unauthorized access by other parties. Toverify that a client is who they say they are, businesses typicallyrequire each client to create an account with a unique login name andpassword. This requirement can create a hurdle for interacting with manyclients, especially those where no prior relationship exists. The needremains for improvements in interactions with clients and potentialclient or customers to improve relations and reduce friction in businessoperations.

SUMMARY OF THE INVENTION

The following is a summary of the invention in order to provide a basicunderstanding of some aspects of the invention. This summary is notintended to identify key/critical elements of the invention or todelineate the scope of the invention. Its sole purpose is to presentsome concepts of the invention in a simplified form as a prelude to themore detailed description that is presented later.

In an example, a server may be provisioned for data store access andelectronic communications over a network, for example, the internet. A“server” is used in a general sense; it may comprise one or morecomputers or processors, which may be networked locally and/or “in thecloud.” A server, as discussed herein, may host software as a service(SaaS). The server may execute software or “code” to carry out variousprocess steps.

In one embodiment, the steps may involve selecting a content item storedin a data store accessible to the server. The content item may be, forexample, a text or multi-media document or file. The process furthercalls for accessing a list of target users also stored in a data storeaccessible to the server, wherein the list of target users includes atleast a corresponding email address or other unique identifierassociated with each of the users. The listing of target users may bemaintained, updated, filtered, queried, etc. using various technologies,especially database technologies.

Some operations further call for selecting a user on the list of usersand generating a custom html link (or URL or equivalent token) thatidentifies a corresponding target web page or content item on theserver, wherein the target web page is associated with the selected userand with the content item. The custom link may be inserted into acontent item, for example, a digital newsletter, to form a customcontent item. In some embodiments, the content item (withoutmodification) may be attached to a message, for example, an email, andthe custom link may be inserted into the email message (body). The emailmessage may have instructions for the user to follow the link. Thesystem transmits the custom content item (email message) to the selecteduser.

Subsequently, the server may receive an external access to the targetweb page, for example, from a remote web browser over the internet,indicating that the selected user activated or “clicked” the link to thecorresponding web page. The system may then identify a correspondinguser based on the web page accessed. That is, identify the userassociated with the target web page. In response, the system logs in theidentified user to the server (or more specifically, to a web site orother resource hosted on the server) so as to enable access to serverresources without requiring the user to enter any account identifier,password or take any other authentication action. This process may bereferred to as automatic login or “auto-login.”

After auto-login, the system may monitor activity of the identified(auto-logged in) user on the server to acquire behavior informationfurther described below. The behavior data may be stored in the datastore in association with the corresponding user. The user activities(or behavior) on the server may include, for example, what is read(content items), when it is read, how long it is read, forwarding anitem, and other indicia of interest. This data may be accumulated andstored in a data store, and processed as further described herein, toassess and quantify a level of interest of a given user in selectedcontent.

In more detail, through key words, tags, and/or semantic clusteringassociated to content items accessed on the server, the user's interestsas demonstrated by the stored behavior data may be correlated to aproduct to assess the user's potential interest in the product. Throughthe use of auto-login, a target user need not remember any password orother credentials to access the server web site. Indeed, the user neednot even be aware of the existence of an account associated with theuser on the server.

Additional aspects and advantages of this invention will be apparentfrom the following detailed description of preferred embodiments, whichproceeds with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified illustration of one example of a system toimplement a web site featuring an automatic login link for targetedusers without previous account creation.

FIGS. 2A-2B together form a simplified flow diagram showing some of theprinciple steps of a process consistent with the present disclosure.

FIG. 3 is a simplified conceptual diagram illustrating a database ortable of characteristics and/or investment behaviors for a set of targetfunds.

FIG. 4 is a simplified conceptual diagram illustrating a database ortable of characteristics for a set of investment products.

FIG. 5 is a simplified diagram illustrating one implementation of asystem for auto-login and user behavior analysis.

FIG. 6 is a simplified process diagram illustrating a method for logginguser behavior for assessing user interests.

FIG. 7 is a simplified process diagram illustrating a method forbuilding a database storing user engagement data relative to subjectmatter key words or categories, based on user engagement behaviorcollected in an interactive network server environment.

FIG. 8A is a simplified conceptual diagram for applying machine learning(ML) to build a model of a fund utilizing data sources described herein.

FIG. 8B is a simplified flow diagram for utilizing an ML model of a fundfor predicting investment behavior of the fund.

FIG. 9 is a simplified flow diagram of an example process for tuningrelative weights of product salience factors.

FIG. 10 is a simplified flow diagram of an example process forconditionally applying weighting adjustments for specific productsalience factors.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

In the following detailed description, numerous specific details are setforth by way of examples in order to provide a thorough understanding ofthe relevant teachings. However, it should be apparent to those skilledin the art that the present teachings may be practiced without suchdetails. In other instances, well known methods, procedures andcomponents have been described at a relatively high-level, withoutdetail, in order to avoid unnecessarily obscuring aspects of the presentconcepts. A number of descriptive terms and phrases are used indescribing the various embodiments of this disclosure. These descriptiveterms and phrases are used to convey a generally agreed upon meaning tothose skilled in the art unless a different definition is given in thisdocument.

Many businesses use email, short message service (SMS) text messages, orother electronic communication such as Facebook Messenger that allowone-to-one electronic communication to communicate with their customersand potential customers. This communication can be customized for eachindividual to whom the communication is addressed. While traditionalsystems may request a user to create an account on a website and enter aparticular code, embodiments disclosed herein provide an auto-loginfeature. This allows a recipient of a targeted communication to simplyclick on a link and to receive content from a website that wasspecifically created for them. This eliminates the requirement that auser visit a web site, create an account, and then remember theiraccount name and password to log in and receive the customized content.This can increase the response rate to the messages by minimizingfriction and difficulty for a targeted user to respond to thecommunication.

In some embodiments, an auto-login feature can be used to identify auser through an identifier, such as a user-specific link included in amarketing or update email. In some embodiments, the identifier can beused to initiate an authentication session, either visible to ortransparent to the user. The session auto-login can provide the sameanalytics capability as is available from more traditionalauthentication methods. At least in circumstances where a majority oftraffic is driven by direct links from emails or other controlledsources, the auto-login feature of some embodiments is superior to othertracking methods such as cookies, and IP address tracking, in that itprovides more consistent tracking, is more likely to associate a user'snumerous devices with the right account, is less likely to obfuscate orhide the user's identity and is less likely to be blocked by a user. Onthe other hand, cookies can also be applied to achieve the benefits ofboth technologies.

FIG. 1 illustrates one example of a system to implement a web sitefeaturing an automatic login link for targeted users without previousaccount creation. In this figure, a server 120 may be provisioned as aweb server, utilizing various technologies that are well known. theserver is operationally coupled to a network such as the internet, shownas a cloud 110. The server 120 includes or has access to one or moredata stores 130 for storing, maintaining and updating data detailedbelow. Some of the data stored at 130 is kept secure and private. Otherdata, such as published content, may be accessed by users under controlof the server. Data or content items may be accessed by remote users(not shown here), for example, using HTML or similar technologies,further explained below.

The server 120 (which may comprise multiple servers, local, in thecloud, or otherwise distributed) has access to various data sources, forexample, via the internet 110 and/or other networks. In one example, theserver may be arranged to collect securities industry data. For example,one data source 102 may provide public information such as prospectusespublished by mutual funds. Another data source 104, also available overthe internet, may comprise a proprietary or subscriber-based servicethat provides additional data about investment funds, such as recenttrading activity, performance data, and holding information. In someembodiments, a more general news source 106 may be utilized. Forexample, the news source may be searched by server 130 software toacquire news content about a particular investment fund or manager aspart of characterizing the same as discussed below.

Another aspect of data store 130 (or a related data store) is to storecontent items. Content items may include, for example, articles,newsletters, emails, and other kinds of communications, each of whichmay include various media (text, photos, video) and/or links to othercontent sources. In an embodiment, an administrator or other personassociated with the server system 120 may curate or create originalcontent items and store them in the data store for distribution to alist of users or targets. In some cases, the content may comprise aperiodic newsletter. In the example of the securities industry, thenewsletter or other content may be crafted for consumption by investmentprofessionals.

One or more key words and/or categories may be assigned to a contentitem. The assigned key words and/or categories may be stored andassociated with the corresponding content item in the data store so asto enable, for example, querying the data store based on key wordsand/or categories. Preferably, a hierarchical arrangement may definecategories, and each key word may be assigned to one or more of thecategories. Additional levels of such a hierarchy may be defined. Totake a simple example, a gold mutual fund content item, say a goldtrading newsletter—may be assigned key word “gold,” and it may befurther assigned to a category “metals” or “commodities,” which in turnmay be a sub-category of an equity category of investments. Additionaluses of key words and/or categories are described below in the contextof analysis of target user behavior and assessing that behavior as anindicator of potential interest in individual products.

FIG. 5 is a simplified diagram illustrating one implementation of asystem 500 for auto-login and behavior analysis in support ofeffectively targeting communications. Here, we see again the server 120and associated data store 130. A computer or terminal 540 may be coupledto the server 120, for example, over a local network, for administrativework, content item authoring, and other tasks. The terminal 540 may beused to conduct analyses of data stored at 130, for example, theaffinity analysis described below. The data store 130 may store a listof users, also called targets or targeted users. Various known databaseprograms or technologies may be used. Additional data, stored inassociation with corresponding users, is described below. The additionaldata may include, for example, detailed user engagement data and/or userengagement scores based on the engagement data, further described below.The particular arrangement of data, records, etc. is not critical andwill vary in different implementations.

In one example operation, an operator using the terminal 540 and/orserver 120 may select a content item, such as a newsletter forpublication. The newsletter may be sent, for example, using email, to alist of users (also called a target). These operations may be carriedout automatically by the server 120 under software control. In moredetail, the server system (or operator) may access a content item storedon the data store 130 and access a list of users stored in a data storeaccessible to the server, (which may be the same or a distinct datastore) wherein the list of users includes at least a corresponding emailaddress (or other unique identifier) associated with each of the userson the list.

For each user on the list, in one embodiment, the server may generate acustom html link (or URL) 506 that identifies a corresponding target(landing) location on the server 120, wherein the target location isassociated with the specific user and with the content item. The term“location” here refers to a page or content item on a page of a website, rather than a geographic location. The server may insert thecustom link into the content item to form a custom content item. Inanother arrangement, the content item (without modification) may beattached to a message, for example, an email, and the custom link may beinserted into the email message (body). The custom content item or email502 may be transmitted to the corresponding user in the list, forexample, using the user's email address. In this way, an email 502transits the internet 110 and arrives at a user system 520, for example,a computer or mobile device. The email is opened to present the customcontent item, including the custom link for the user to access theserver 120 over the internet. The email may include directions orremarks related to the custom link, although it need not identify it asa custom link. The user, if interested, may click the custom link toaccess the corresponding target (landing) location on the server.

On the server side, preferably under programmatic control, the servermay detect an external access to one of the target locations. i.e., theresult of a user clicking the custom link in their email to direct theirbrowser. Then, based on the target location accessed, the server mayidentify the corresponding user. The server may then log in theidentified user to the server automatically to enable access to serverresources without requiring an account identifier, password or otherauthentication action. The process may include customizing the targetlocation for presentation to the user after login.

In some embodiments an account and default password can be created foreach target of the communication using the user's email address,telephone number, or other identifying information related to the userand the account information stored in a database associated with theinformation known about the target, such as the email address of thetarget and any other information that has been gathered about thetarget. This information may include the real name of the target in someembodiments, it but may not include the real name of the target in otherembodiments either for privacy reasons or because the real name of thetarget may not be known. The default password may be stored in the samedatabase, but in some embodiments, the password is not included in thesame database as the other information about the target but is encrypted(or hashed) and stored in a separate database that is used during theauthentication process. The information customized for the target mayalso be stored in the database associated with that account in someembodiments.

A uniform resource locator (URL) may be created with a link to thecorrect world wide web page for authentication with additionalcharacters added to the URL to indicate the account name and password touse for the login process. The URL is then included in the message sentto the targeted user.

In other embodiments no account is created for a targeted user inadvance, but a unique code is created for each targeted user and isstored in the database associated with other information about thetarget. The unique code is embedded into the URL that is sent to thetarget using email or other one-to-one electronic communication. Inresponse to the user clicking on the URL and launching their browser toload that link, the server uses the unique code to look up the targeteduser in the database as well as the information to be presented to thatuser. The server then formats the information and sends it back to thetargeted user. In some embodiments, the fact that the user visited theURL can be used to automatically create an account for that user usingknown information about the targeted user as the account name. Theinitial information can be presented to the targeted user whether or notthe account is created. In some embodiments, the account can be createdfor the user the second time that the user visits the link. The accountname may be changeable by the user in some embodiments. The user may beprompted to enter a password when the account is created, oralternatively, the user can be asked to enter a password at a latertime, such as the second time they log in or in response to the userinteracting with the content. In some embodiments where the informationtargeted for the user is not overly sensitive or confidential, nopassword is created, and the user can continue to access the websiteusing the link with the URL containing the unique code and/or with theiraccount name.

The information created for the targeted user can be created in anyappropriate manner, but in some embodiments the information is createdbased on information gathered on potential targeted individuals andanalysis of that information using artificial intelligence and/ormachine learning techniques. Data systems (e.g. SQL or No-SQLdatabases), having a schema or other structure for storing and queryingencoded behavior can be employed to reveal preferences and providecritical planning and prediction capability. Below we describeprocessing of interaction behavior data through various techniques toenable data queries based on a demonstrated interest, as revealed byengagement and user interaction with particular content as furtherdescribed below.

FIGS. 2A-2B together form a simplified flow diagram illustrating some ofthe principle steps of a process consistent with the present disclosure.Some of these steps were introduced above. Referring to FIG. 2A, at stepor block 202, a process may begin, at block 202, by provisioning aserver with access to a network. At 204, accessing a content item storedin a data store accessible to the server. At 206, accessing a list ofusers stored in a data store accessible to the server, wherein the listof users includes at least a corresponding email address associated witheach of the users on the list. The list may use contact informationother than email address, for example, a social media identifier oraddress.

At block 210, selecting a first user on the list of users. Referring nowto FIG. 2B, at block 212, generating a custom html link (or URL orequivalent token) that identifies a corresponding target location on theserver, wherein the target location is associated with the selected userand with the content item. Continuing at block 214, inserting the customlink into the content item to form a custom content item. In someembodiments, as noted, the content item (without modification) may beattached to a message, for example, an email, and the custom link may beinserted into the email message (body). The email message may haveinstructions for the user to follow the link.

At block 218, transmitting the custom content item (email message) tothe selected user. Continuing at block 220, in the server, detecting anexternal access to the target location. At 222, based on the targetlocation accessed, identify a corresponding user. That is, identify theuser associated with the target location. Then, at block 224, log in theidentified user to the server automatically to enable access to serverresources without requiring the user to enter any account identifier,password or take any other authentication action.

Continuing at block 226, monitoring activity of the identified(auto-logged in) user on the server. Next, at Block 228, is storing userbehavior data for the identified user based on the monitored activity.As mentioned, the user activities (or behavior) on the server mayinclude what is read (content items), when it is read, how long it isread, forwarding an item, and other indicia of interest. This data maybe accumulated and stored in a data store, and processed as furtherdescribed herein, to assess and quantify a level of interest of a givenuser in selected content. Decision 230 determines whether the end of theuser list has been reached. If so, this process may end. If not, block232 calls for selecting a next one of the users on the list and loopingback to block 212 to generate a custom link and proceed to contact thenext user on the list. In this illustration, users are contacted one ata time, working through an initial user list. In some embodiments, theprocess may be parallelized, for example, so that separate threadsoperate to contact users and collect data in parallel.

Marketing Securities

Marketing securities to financial advisors has traditionally requiredsalespeople to contact an extremely large number of “cold” leads inorder to establish a relationship, build rapport, and mutually determinewhether any of the offered products would be appropriate for inclusionin the financial advisor's investment strategy. The process ofcontacting cold leads is time-consuming and requires a great amount ofskill, diligence, and patience from the salespeople.

Information regarding each financial advisor's investments areperiodically available as public information. Additionally, behaviorinformation is obtainable from public or proprietary sources to giveinsight into the decision processes and types of investments that arelikely to be relevant to each financial advisor's investment strategies.This type of data may be collected and stored in machine-usable formsuch as a database or data store as illustrated in FIG. 1 , for example.FIG. 3 is simplified conceptual diagram illustrating a database or tableof characteristics and/or investment behaviors for a set of targetfunds. Each target fund (or manager) is represented by a correspondingrow A, B, C etc. in the table 300. Each characteristic and investmentbehavior for the fund is represented by a corresponding column, numbered1, 2, 3 etc. in the table. For example, cell 302 contains data forcharacteristic “1” of fund “A” and cell 304 contains data forcharacteristic (or behavior) “2” for fund “B”. These characteristics inpractice may have many parts and sub-parts, for example, fund holdingsor performance data. Some other characteristics of a fund may includeits size (total assets), fees, management, trading behavior such astransaction (block) sizes, and timing. For example, does a fund mostlypurchase assets in Q1 and sell in Q3? This simple fact, among others,may influence selection of most promising leads at a given time formarketing a fund, as further explained below.

User (for example, financial advisor) subject matter interests, asreflected in captured behaviors, are likewise multi-faceted. The datafor a given fund, say row C fund, may be assembled into a vector 308 foranalysis and comparison to investment products. The data can also beused to form part of a dataset for modeling the fund as discussed withregard to FIG. 8A. Preferably, a dataset for a fund or financial advisorincludes both objective characteristics and behavior data.

FIG. 4 is a simplified conceptual diagram illustrating a database ortable of characteristics for a set of investment products. In this table400, selected products' data are stored in corresponding records or rowsidentified by letters “L” “M” “N” etc. Each cell may have many sub-partsor links to another table. Fund “L” for example is represented by avector 430 which may facilitate comparison to other funds or managers.In more detail, corresponding elements of the vector may be scored,scaled, and used to find an overall score for several applications asfurther described below.

It is a benefit provided by some of the presently disclosed embodimentsto qualify or rank a list of cold leads based on observed behavior (e.g.investment history, content consumption data, investment class, subjectmatter expertise or interest, etc.). In some embodiments thisqualification or ranking allows for the creation of a reduced list oftargeted “warm” leads. In some embodiments, this filtering isaccomplished by applying artificial intelligence (“AI”), MachineLearning (“ML”), and/or statistical methods to map observations data tooffered investment data. The production of a warm leads list solves theidentified problems relating to cold calling and is an advantageprovided by some embodiments.

Some embodiments enable salespeople to be much more efficient with theirsales strategies and allows efficient identification of the financialadvisor's relevant interests. Using the warm leads list generated incertain embodiments accelerates the creation of rapport and identifieswhat are likely to be the particular benefits of a given product to agiven financial advisors. The increased success rate benefits themotivation and efficiency of sales staff and avoids the ill will orother negative associations that may arise in the mind of a potentialcustomer from cold calling to discuss an irrelevant product.

Investment products are often niche products appealing to a limitednumber of financial advisors. Marketing securities broadly to financialadvisors via print or online ads has typically resulted in an extremelylow number of conversions per impression. Even where other methods ofonline targeting by profile have been used (e.g. Google AdWords,Facebook Ads, etc.), the identity information has proven to be toogeneral, and the mappings to fund information too imprecise toaccurately predict market interest in securities. The fatigue felt byfinancial advisors reviewing content containing such advertisementsreduces the overall effectiveness of this method of advertising and alsodegrades the value of the website or publication bearing theadvertisements in the mind of such managers.

Just as financial advisors have limited amounts of attention, so dotheir clients. For a financial advisor to be successful, it is importantto target users with specific advertisements or offers based on clientinterest. No suitable technology to make these identifications exists inthe field of securities. Specific considerations come into play in thefinancial products market that are not present in other markets. Forexample, in order to avoid wasting a client's time, a financial advisorneeds to provide funds that are relevant to the client's interests.Moreover, as a further example, financial advisors in some jurisdictionsare subject to fiduciary responsibilities to their clients. It isimportant, therefore, that they are made aware of products similar totheir present or anticipated holdings that may have similar or identicalperformance characteristics but lower fees.

The ability to directly target mangers with funds highly relevant totheir and their clients' investment strategies and areas of expertisewould be of great benefit to both publishers and advertisers. Moreover,the ability to refrain from delivering advertisement when no offeredproduct is of sufficient relevance to a particular reader of apublication would be a substantial improvement and overcome theaforementioned disadvantages of prior advertising methods. Systems andmethods of the type disclosed herein may be used to overcome thesedisadvantages.

Affinity Mapping

In some embodiments, an affinity map may be created based on, at leastin part, observation of behavior of a particular individual or apopulation. The affinity map may consider one or a number of factorssuch as: semantic clusters of content selected by the target populationor individual; extrinsic tags associated with the content either throughstatistical methods or otherwise associated with the content; the orderof review of content; review by the same target of additional content inidentical or similar semantic clusters; review by the same target ofadditional content having identical or similar extrinsic tags; thetiming and/or frequency of the review of related content (e.g. relatedthrough semantic clusters or extrinsic tags); frequency of review of thesame content; the presence or absence of feedback provided by the user;the content of feedback provided by the user; the frequency of review ofrelated resources (e.g. electronic messages related to relevantcontent); and other similar observed behaviors.

In some embodiments, much of this data may be collected by the server120 of FIGS. 1 and 5 . The server may host a web site containing variouscontent items. The content items may be sent to users along withautomatic login links as described above. The content items may beincluded in an initial email or provided in response to the userclicking on the custom URL, or a combination thereof. Once the user islogged into the server, user behavior on the server, including theactions described above, can be monitored and logged, even though theuser has not “logged in” in the traditional fashion. The user need notbe aware that she has an account on the server. The user behaviors mayinclude some or all of the aspects mentioned in the preceding paragraph.In particular, the timing and sequencing of user activity (for example,reviewing content) is easily logged using timestamps, and any or alluser behavior may be stored (say in data store 130) in association withthe user account.

FIG. 6 a simplified process diagram illustrating a method or algorithmfor logging user behavior to form behavior data. In some embodiments,this process may correspond to block 226 in FIG. 2B; “MONITOR ACTIVITYOF THE IDENTIFIED USER ON THE SERVER.” First, a user is logged into theserver, and identified by an automatic login process, block 602. In somecases, a user may login to an account using a conventional loginprocess. After login, the user navigates to a page or location on a website, block 604. This navigation is logged into a memory or data store.The data includes a URL or other identifier of the accessed page. It maybe an identifier internal to the server platform. The log data alsoincludes date-time stamps. This can be used to track the amount of timea user spends accessing the page. Specific details of these features mayvary in different applications or software environments. For example,one embodiment may use timestamps to calculate elapsed time spent on apage or content item, while another embodiment may use software timers,triggered by interrupts or “event” messages, for that purpose.

We use the term “content item” here to refer broadly to a contentresource that can be selected (“clicked”) on a web page to view,interact with, or download it (or a combination of actions). A contentitem may comprise any one or more types of media, for example, a textdocument, web page, video clip, e-book; essentially any digital datasource that can be used to convey information to a user. Generally, theuser will be a person, but it could be a bot or the like. For example, afund may utilize programmatic bots to “crawl the web” and collect andorganize investment information. The bot might appear as a user on thesubject web site, and its behavior collected, although some metricswould not apply to a non-human user.

On a page, the user clicks to open or access a content item, block 606.Here again, the item is identified, and the access logged, along withtimestamp data. next, the server monitors and logs actions taken by theuser, block 610, with regard to the content item; for example, open(reading) time, saving a copy, emailing the item, rating the item,clicking a link in the item, etc. These and other actions may be loggedto build behavior data of the user with regard to the content item.Next, the user may navigate to a new content item, block 612. Decision614 determines whether the new content item is on the same web page. Ifso, the algorithm loops back to block 606 to begin logging behavior withregard to the new content item. If not, the user may have navigated to anew web page. Decision 618 determines whether the new page is off thecurrent site. If so, the process may terminate at 620. Beforetermination, the process may log the URL to which the user navigated. Ifthe new page is on the same web site, the process may loop back to block604 to begin logging user behavior on the new page. Some or all of thislog data may be used to form behavior data to gauge user interests.

This data may be distilled to form an affinity map that identifiescontent items (by tags, semantic clusters, categories, etc.) ofparticular interest to the user relative to other content. In somecases, the user may be a financial advisor. The affinity map may shedlight on the financial advisor's investment interests. The affinity mapor aspects thereof may be stored in the data store in association withthe corresponding user. In this way, queries may be executed on the datastore to quickly identify funds or managers likely to be interested in agiven securities product. The securities product may be associated ormapped to one or more tags, clusters, categories and correlations.

User Engagement and Subject Matter Scoring

FIG. 7 is a simplified flow diagram of a process to develop a databasethat includes engagement scores for users. At block 702, the processbegins with storing a set of targeted users and contact data, asmentioned above. At block 704, the process continues with generatingmessages and transmitting them to the list of users with selectedcontent items, described in more detail with regard to FIGS. 2A-2B. Eachcontent item transmitted (or linked in a message such as an email) hasat least one associated key word or category.

Continuing at block 706, the process calls for tracking user interactionor engagement activity on the server relative to the content item andrelated items. This data is used to form engagement data. At block 708,the engagement data is analyzed to determine a user's engagement scoreassociated with the content item—and by extension associated with thekey word and/or category associated with the content item. At block 710,this engagement score may be added to the data set associated with theuser to support querying the database as noted above.

A user's interest level in content items, or their subject matter, asdemonstrated by the user's behavior, thus may be assessed and quantifiedin the engagement score. An engagement score may be determined as acombination (typically a linear combination) of multiple factors. Eachfactor may be scored relative to a key word or category. Each factorpreferably would be weighted relative to other factors to develop anoverall score. In use, a search or query of the data store may be usedto identify interested users, based on searching for relative higherengagement scores, associated with selected content (by key words,categories, tags, etc.)

In one example, a scoring design may utilize scores of say 1-5 for eachfactor. A scoring system may use integer scores 1-5 in aggregate and foreach factor (see below), with 5 being the highest level. These levelsare not critical; the number of levels may vary in differentapplications. Weighting: each factor may be scored individually, andthen the factors selected and combined to form an overall score. Eachfactor may be assigned a percentage (or relative weight) of the totalscore.

In some embodiments, factors to score may include but are not limited toone or more of the following factors. Next to each factor, a suggestedrelative weight is shown.

-   -   Categories in which the user read stories or other content        items, 10%    -   Tags of the stories or other content items accessed, 35%    -   The order in which they clicked the stories or other content        items, 5%    -   Stories or other content items within same semantic cluster that        the user also clicked, 10%    -   Stories or other content items with related tags 10%    -   Frequency with which they read about these stories or other        content items over a time period (e.g. 14 days)—10%    -   Number of times they clicked/loaded the same story or other        content items—5%    -   If they rate the story or other content item on the site 4%    -   How they rate a story or other content item on site 1%    -   Number of times they opened the email containing that story or        other content item 10%

This data may be collected on a server (for example, 120 in FIG. 1 ),based on interactions 532 of the user (for example, via terminal 520 inFIG. 5 or other network access device such as a “smartphone”) followingauto login as described above. The user interactions or behavior may belogged as described with regard to FIG. 6 . Beginning from the raw logdata, the items accessed by a given user are identified, and from theidentification a set of characteristics or metadata of the itemsaccessed is obtained. The content item metadata may include key wordsand/or categories and/or semantic clusters. An affinity map may beformed to summarize and optionally display the key words and/orcategories and/or semantic clusters of content of greatest interest tothe user. For example, the various actions logged with regard to thecontent items accessed can be processed, taking into account thedate-timestamps, to determine some or all of the factors listed above.The factors may then be scored, based on the extent to which givenactivities imply user interest in the item content.

As a simple illustration, accessing say 15 content items having the samekey words or assigned category over two days may earn a score of 5 withrespect to those key words and/or that category. A more detailedanalysis make take into account several or all of the factors listedabove. The result is a metric of user interest, as demonstrated by theuser's behavior, with respect to one or more key words, categories,tags, etc. The overall interest score may be weighted, for example, asshown above.

This data can be used to advantage in various ways. In one case, it maybe used to narrow or filter an initial listing of potential users ortargets. In some embodiments, the affinity map can be applied to productcategories or a product salience metric (described below) in order toidentify specific funds and/or content for which the target individualor population is likely to have a strong affinity.

Product Salience Metric

In some embodiments a product salience metric may be formed wherein aproduct is associated with categories using available data, analysisusing AI, ML methods, other applicable methods, or any combinationthereof, and additional factors are taken into account for comparison tothe product. Factors considered in the product salience matrix mayinclude one or more of fund pricing and fee information, theme, businessor technological domain, realized returns, expected or targeted returns,information related to seasonal or cyclical performance or otherstatistically-derivable trends of the fund. The salience metric can beconstructed by scoring one or more relevant or selected factors andapplying a weighting matrix indicating relative importance of thefactors to determine an overall score.

In one example, scoring may proceed by first, receiving or inputtingcategory data for an investment product. This data may include, forexample, fees, theme, and returns of the investment product. The productdata may correspond to the characteristics in FIG. 4 . This categorydata may be compared to the target user (a fund or financial advisor,for example) utilizing various factors. In one embodiment, the factorsmay include those listed below. They may be weighted, in this example,according to the percentages shown.

-   -   Time of year they tend to buy—7.5%    -   Average fee of funds held—27.5%    -   Categories of funds held—50%    -   Performance of funds held—10%    -   Fund rating—5%

To illustrate, the time of year factor may be a level 5 or maximumvalue, if the present time of year is the time that the target usertends to buy a new investment. The value would decrease as the presenttime is further away from the time that the target user tends to buy anew investment. Considering the average fee of funds held by the targetfund, a neutral level (say 2.5 out of 5) may be assigned if the productfees are substantially equal to the average fee of funds held by thetarget fund. A higher level may be assigned to this factor if theproduct fees are lower than the average fees, and so on, comparingperformance, ratings, and potentially other factors, and assigning ascore to each factor based on the comparison. Additional factors thatmay be considered include previous readership activity, that is, thetarget user's activities or behavior on the server site. For example:

-   -   Has the user ever engaged (clicked) with dedicated emails before        7.5%    -   Has the user ever bought a fund from a dedicated email 10%        -   How did this user behave before he was approached and bought            the last fund 10%            -   How many clicks on a tag over a time frame leading up to                a purchase            -   How many clicks on related tags over a time period.

One scoring design uses a 1-5 scale in the aggregate and for eachfactor, 5 being the highest score. Each factor preferably may beweighted, that is, assigned a percentage of the total score.Representative weights are shown above with each factor. The overallscore, the product salience metric, gives an indication of salience or“fit” of the product to the target fund, taking into account the targetfund characteristics, product characteristic, and actual behavior.

Tuning the Relative Weights of Product Salience Factors

The nominal or suggested weights given above may be adjusted or “tuned”based on actual results. By “actual results,” we refer to actual tradesof the product or other investments. FIG. 9 illustrates one example of aprocess or algorithm for tuning the weights. In block 902, the currentsalience factors weights are accessed or loaded for processing, forexample, in a server. In block 904, data is accessed comprising thespecific factors and scores applied in a forming a salience metric for aproduct. The salience metric (a combination of the factors) for aproduct may be determined relative to a specific user or fund. At block906, a process, preferably executed by a processor using software,compares the previously determined scores to the actual sales resultsfor the product. Each factor is considered separately, or factors may becombined. Then, at block 910, in the case of a discrepancy between thescore for a specific factor and the actual results for the product,adjusting the weighting for that specific factor based on thediscrepancy.

For example, suppose a target user or fund characteristics show thatthey tend to add a new product in the first quarter of the calendar year(“Q1”). And the current date is not in Q1. Thus, this factor (whichmight be called time of year) is given a low score of say, 2 out of apossible 5 (2/5). However, the actual sales results show the target funddid in fact purchase the product (outside of Q1). This discrepancy isdetected, and the weighting applied to the “time of year” factor forthis user is lowered. The specific score (2/5) is not changed; it mightbe considered deterministic. Rather, the weighting change reduces theinfluence of this specific factor in the overall salience metric.

In the same example, it may be determined from the system data storethat three targeted emails were sent to the target fund in Q3, and thefund purchased the product soon after those emails. (The automatic loginfeature can confirm that they were read.) Here, depending on the scoreattributed to the emails, the weighting of that emailing factor may beincreased, based on the purchases and their timing proximate to theemails.

In some embodiments, one or more of the factors may pertain to alignmentor correlation between the subject matter of a product, as identified bykey words, categories, etc. to the interests of a user or fund, andreflected in the user behavior. The user interests may be expressed inan affinity map, described above. An alignment between the productsubject matter and user affinity map may be one of the salience factorsscored. And the weighting of that subject matter factor may be adjustedif it appears inconsistent with actual results. If that subject matterfactor has a high score for example, but actual purchases are lacking,the relative weight of the factor in the overall salience may bereduced. Correlation across multiple variables can be calculated invarious ways. Using a multi-dimensional vector approach, for example, aEuclidean distance between vectors can be used an a correlation metric.

At block 912, the process may continue to analyze the data to detectanother discrepancy, if there be one among the applied factors, betweena factor weighting and the actual results. In that case, the processadjusts the weighting for the corresponding specific factor. The processmay essentially loop through the factors applied to the subject (targetfund, product) pair. Upon conclusion, the results (weight adjustments)are stored in a data store, block 914, and the process terminates at920.

In some embodiments, the weighting adjustments just described may beextended, in some cases, to a broader set of users. In this way, moreaccurate salience metrics may be generated, without analyzing each userseparately. FIG. 10 illustrates a process or algorithm for that purpose.At block 1002, a query is submitted to a data store that contains theweighting data including the adjustments described above. At block 1004,based on the results returned, the process counts a number ofusers-funds for which weighting adjustments were made for one or morespecific salience factors. At block 1006, that count is compared to athreshold value. For example, the threshold may be determined as afraction of the total number of users-funds in the database. Or, as afraction of the previously generated salience metrics. at decision 1010,if the count exceeds the threshold value, then the adjustment may beapplied to set of multiple users, potentially all users, in the system.It may be applied to a subset of users depending on selectedcharacteristics. If the count is less than the threshold value, theprocess proceeds to analyze the next salience factor, block 1014, andloop back to block 1002.

FIG. 8A is a simplified conceptual diagram for applying machine learning(ML) technology to build a model of a fund utilizing data sourcesdescribed above. In the figure, various data sources described above areused to assemble a dataset descriptive of a given fund. These sourcesmay include, for example, public records 802 such as SEC filings,prospectuses, etc. Block 804 contains holdings data, which may includepurchase and sale transactions, which in turn may further includepurchase and sale dates, quantities, prices, etc. Another source is theengagement or “behavior” data, represented by block 806, referring tobehavior of a target fund or manager on the server site. For example,see FIG. 6 . A related source is records of communications, block 808,as between the server and the target user, such as emails and link“clicks.” A further relevant source is investment behavior of the targetuser after interactions with the server, block 810. This may be subsumedin the holdings data, block 804. Timing is important, and timestampsshould be included for relating investment behavior to the serverinteractions or research behavior.

FIG. 8B is a is a simplified flow diagram for utilizing an ML model of afund for predicting investment behavior of the fund. Here, data 830descriptive of a product offering, such as the categorical datadescribed above, may be input to an ML model 816 of a target fund. Themodel may be utilized to generate predictions of the target fundbehavior, including a prediction (likelihood or classification yes/no)of the fund investing in the product offering. More generally, the modelcan be used to identify the most important or predictive variables orfactors in the funds behavior. To that end, interactive visualization ofmodels can be used as described in U.S. Patent Application Publication2017-0032026 (BigML, Inc.). The identified factors may be helpful indesigning or marketing a new product.

It will be obvious to those having skill in the art that many changesmay be made to the details of the above-described embodiments withoutdeparting from the underlying principles of the invention. The scope ofthe present invention should, therefore, be determined only by theappended claims.

Most of the equipment discussed above comprises hardware and associatedsoftware. For example, the typical electronic device is likely toinclude one or more processors and software executable on thoseprocessors to carry out the operations described. We use the termsoftware herein in its commonly understood sense to refer to programs orroutines (subroutines, objects, plug-ins, etc.), as well as data, usableby a machine or processor. As is well known, computer programs generallycomprise instructions that are stored in machine-readable orcomputer-readable storage media. Some embodiments of the presentinvention may include executable programs or instructions that arestored in machine-readable or computer-readable storage media, such as adigital memory. We do not imply that a “computer” in the conventionalsense is required in any particular embodiment. For example, variousprocessors, embedded or otherwise, may be used in equipment such as thecomponents described herein.

Memory for storing software again is well known. In some embodiments,memory associated with a given processor may be stored in the samephysical device as the processor (“on-board” memory); for example, RAMor FLASH memory disposed within an integrated circuit microprocessor orthe like. In other examples, the memory comprises an independent device,such as an external disk drive, storage array, or portable FLASH keyfob. In such cases, the memory becomes “associated” with the digitalprocessor when the two are operatively coupled together, or incommunication with each other, for example by an I/O port, networkconnection, etc. such that the processor can read a file stored on thememory. Associated memory may be “read only” by design (ROM) or byvirtue of permission settings, or not. Other examples include but arenot limited to WORM, EPROM, EEPROM, FLASH, etc. Those technologies oftenare implemented in solid state semiconductor devices. Other memories maycomprise moving parts, such as a conventional rotating disk drive. Allsuch memories are “machine readable” or “computer-readable” and may beused to store executable instructions for implementing the functionsdescribed herein.

A “software product” refers to a memory device in which a series ofexecutable instructions are stored in a machine-readable form so that asuitable machine or processor, with appropriate access to the softwareproduct, can execute the instructions to carry out a process implementedby the instructions. Software products are sometimes used to distributesoftware. Any type of machine-readable memory, including withoutlimitation those summarized above, may be used to make a softwareproduct. That said, it is also known that software can be distributedvia electronic transmission (“download”), in which case there typicallywill be a corresponding software product at the transmitting end of thetransmission, or the receiving end, or both.

Having described and illustrated the principles of the invention in apreferred embodiment thereof, it should be apparent that the inventionmay be modified in arrangement and detail without departing from suchprinciples. We claim all modifications and variations coming within thespirit and scope of the following claims.

The invention claimed is:
 1. A method comprising: provisioning aninternet server and a data store accessible to the server, wherein theserver is programmed to— access a list of users stored in the datastore, wherein the list of users includes at least a corresponding emailaddress or other unique identifier for each of the users; for at leastone user on the list of users— generate a custom link (or URL) thatlinks to a corresponding target web page or content item accessible onthe server; transmit the custom link to the user in the body of, or inan attachment to, an email addressed to the user's email address; detecta remote browser access to the target web page or content itemcorresponding to the custom link; based on the detected access, identifythe user; auto-login in the identified user to the server to enable theuser to access server resources without requiring the user to input anyname, account identifier, password or take any other authentication orlogin action; and after auto-login, monitor and log the user'sinteractions on the server.
 2. The method of claim 1 wherein monitoringand logging user interactions includes identifying at least one contentitem accessed by the user and logging a start time and/or duration ofthe user access to the content item.
 3. The method of claim 2 whereinthe server is further programmed to— store the logged user interactiondata in the data store in association with the identified user; analyzethe stored interaction data to form behavior data associated with theidentified user; store the behavior data in a data store in associationwith the identified user; and based on the stored behavior data,identify at least one key word and/or category to identify subjectmatter apparently of interest to the identified user.
 4. The method ofclaim 3 wherein the server is further programmed to— analyze the storedbehavior data of the identified user to form an engagement scorerelative to at least one key word and/or category; and store theengagement score in the data store as a metric of user affinity orinterest in subject matter corresponding to the key word and/orcategory.
 5. The method of claim 4 wherein forming the engagement scoreincludes: assigning an individual score to at least some of thefollowing factors, relative to the key word and/or category— categoriesin which the user read content items in the server; tags of the contentitems read by the user on the server; a sequence in which the userclicked content items; additional content items accessed by the userwithin same category; content items with related tags accessed by theuser, wherein related tags are tags falling within a commonpredetermined group of tags; a frequency with which the user accessed(clicked) the content items over a selected time period; a number oftimes the user clicked/loaded/accessed the content item corresponding tothe custom link; whether the user rated the content item correspondingto the custom link on the server site a rating assigned by the user tothe content item corresponding to the custom link; a number of times theuser opened the email containing custom link; and then aggregating theindividual scores to form the overall engagement score for the userrelative to the key word and/or category.
 6. The method of claim 5wherein aggregating the relative scores includes weighting each of therelative scores according to a predetermined relative weight assigned tothe corresponding factor; and then summing the weighted scores to formoverall engagement score for the user relative to the key word and/orcategory.
 7. The method of claim 6 wherein the relative weights assignedto the corresponding factors comprise approximately the followingpercentages of the overall engagement score: categories in which theuser read content items in the server 10%; tags of the content itemsread by the user on the server 35%; a sequence in which the user clickedcontent items 5%; additional content items accessed by the user withinsame category as the custom link 10%; content items with related tagsaccessed by the user, wherein related tags are tags falling within acommon predetermined group of tags 10%; a frequency with which the useraccessed (clicked) the content items over a selected time period 10%; anumber of times the user clicked/loaded/accessed the content itemcorresponding to the custom link; whether the user rated the contentitem corresponding to the custom link on the server site 4% a ratingassigned by the user to the content item corresponding to the customlink 1%; a number of times the user opened the email containing thecustom link 10%.
 8. The method of claim 4 wherein the server is furtherprogrammed to— select a securities investment product; assign at leastone key word and/or category to the selected product; query the datastore based on the assigned key word and/or category to obtain a result,the result identifying user records in the data store having anengagement score relative to the assigned key word and/or category;based on the identified user records and the corresponding engagementscores, generate a ranked listing of users based on their respectiveengagement scores; select one of the users based on a highest-rankingengagement score relative to the assigned key word and/or category; anddirect a communication associated with the investment product to theselected user at the stored email address.
 9. The method of claim 8wherein the server is further programmed to: receive an indication thatthe user to whom the communication was directed subsequently purchasedthe investment product; and update the corresponding user data in thedata store based on the indication.
 10. The method of claim 9 whereinthe indication is obtained by the server querying online public records.11. The method of claim 4 wherein the server is further programmed to—based on the stored behavior data, determine one or more key wordsand/or categories and/or semantic clusters of content of interest to theuser; query the datastore based on the determined key words and/orcategories and/or semantic clusters of content to identify at least onematching record associated with a product; and designate the user as atarget to receive electronic communications associated with the product.12. The method of claim 4 wherein the server is further programmed to—access stored characteristics data for a selected product; access storedcharacteristics data for a target fund, the fund characteristics dataincluding at least some factors in common with the characteristics datafor the selected product; for each factor common to the productcharacteristics and the target fund characteristics, compare thecorresponding factors, and assign a score to the common factor based onthe comparison; determine a salience metric total score based on theassigned common factor scores; and store or update a correspondingrecord in the data store associated with the target fund to identify theselected product and indicate the salience total score.
 13. The methodof claim 12 wherein determining the salience total score includesweighting the common factor scores and combining the weighted commonfactor scores to form the salience total score.
 14. The method of claim13 wherein the target fund characteristics data for comparison to theproduct characteristics data include at least some of the followingcharacteristics: Time of year the target fund tends to buy a product,Average fee of funds held by the target fund, Categories of funds heldby the target fund, Performance of funds held by the target fund, andRating of the target fund.
 15. The method of claim 14 and furthercomprising tuning the corresponding salience factor weighting for atleast one of the individual factor scores by: comparing the factor scoreto actual sales results of the product; based on the comparison,detecting a discrepancy between the factor score and the actual salesresults; responsive to the discrepancy, adjusting the weighting for thefactor to modify its relative influence in computing the salience totalscore; and updating the salience factor weights stored in the data storeto reflect the adjustment.
 16. The method of claim 15 and furthercomprising: querying the datastore to identify weighting adjustments fora specific product salience factor; based on results of the query,determining a number of target funds for which weighting adjustmentswere made for the specific factor; compare the number of adjustments toa predetermined threshold value; and in a case that the number ofadjustments exceeds the threshold value, applying the adjustment toadditional funds in the data store.
 17. A system comprising: a serverprovisioned for network communications; a data store accessible to theserver; and software stored in non-volatile memory and executable on theserver to— generate a custom link or URL that links to a target web pageor content item accessible on the server; insert the custom link into anemail or into an item attached to the email; transmit the email to auser over a network; detect a remote browser access to the target webpage or content item corresponding to the custom link; based on thedetected access, identify the user; auto-login the identified user tothe server to enable the user to access server resources withoutrequiring the user to input any name, account identifier, password ortake any other authentication or login action; after auto-login, monitorand log the user's interactions on the server to form behavior data;store the behavior data in the data store in association with the user.18. The system of claim 17 wherein the software further causes theserver to— analyze the stored behavior data to form affinity data thatidentifies subject matter by at least one key word and/or categoryand/or semantic cluster; store or update a record associated with theuser in the data store to reflect the affinity data.
 19. The system ofclaim 18 wherein the software further causes the server to— accessproduct characteristic data that includes at least one key word and/orcategory and/or semantic cluster associated with a product; query thedata store to obtain a result based on matching the productcharacteristic data; based on the result of the query, identify at leastone user likely to have an infinity for the product; and store or updatea record associated with the identified user in the data store toidentify the product as a candidate for purchase.
 20. The system ofclaim 19 wherein the user is a target fund, advisor or manager, and thefund characteristics data for comparison to the product characteristicsdata include at least some of the following characteristics: Time ofyear the target fund tends to buy a product, Average fee of funds heldby the target fund, Categories of funds held by the target fund,Performance of funds held by the target fund, and Rating of the targetfund.